<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<script>

   /** add for lxh 20160920
	url :...
	title:标题
	width：宽度
	height：高度
	top：窗口离顶部的距离,可以是百分比或像素(如 100px)
	use:打开新增窗口
	 */
	function opencreateWindow(url, title, width, height, topValue,isclose) {
		url = "iframe:" + "${ctx}/" + url;
		topValue = (topValue == '' ? '10%' : topValue);
		
		var windowheight = window.screen.height;
		
		if(windowheight == 768){
			topValue = "0px";
		}
		
		var buttons=isclose==true?{"关闭":"cancel"}:{};
		top.$.jBox.open(url, title, width, height,
			{
				persistent : true,
				top : topValue,
				buttons : buttons,
				opacity: 0.5,
				submit : function(v, h, f) {
					/*  点击窗口按钮后的回调函数，返回true时表示关闭窗口，参数有三个，
					 v表示所点的按钮的返回值，
					 h表示窗口内容的jQuery对象，
					 f表示窗口内容里的form表单键值
					 */
				},
				closed : function() {
						$("#btn_search").click();
				}
			});
	}
	
	/**
	* 打开多个窗口,添加windowId 可关闭对应窗口
	**/
	function openManyWindow(url,param,title, width, height, topValue,isclose,windowId) {
		if(isNull(param)){
			url = "iframe:" + "${ctx}/" + url+"?windowId="+windowId;
		}else{
			url = "iframe:" + "${ctx}/" + url+"?windowId="+windowId+"&"+param;
		}
		
		topValue = (topValue == '' ? '10%' : topValue);
		
		var buttons = isclose == true ? {"关闭":"cancel"}:{};
		top.$.jBox.open(url, title, width, height,
			{
			    id:windowId,
				persistent : true,
				top : topValue,
				buttons : buttons,
				opacity: 0.5,
				submit : function(v, h, f) {

				},
				closed : function() {
					$("#btn_search").click();
				}
			});
	}
	
	/* add for lxh 20160920
	url :...
	title:标题
	width：宽度
	height：高度
	top：窗口离顶部的距离,可以是百分比或像素(如 100px)
	use:打开新增窗口
	 
	function openStaticesWindow(url, title, width, height, topValue,isclose) {
		url = "iframe:" + url;
		topValue = (topValue == '' ? '10%' : '10px');
		
		var buttons=isclose==true?{"关闭":"cancel"}:{};
		top.$.jBox.open(url, title, width, height,
			{
				persistent : true,
				top : topValue,
				buttons : buttons,
				submit : function(v, h, f) {
					/*  点击窗口按钮后的回调函数，返回true时表示关闭窗口，参数有三个，
					 v表示所点的按钮的返回值，
					 h表示窗口内容的jQuery对象，
					 f表示窗口内容里的form表单键值
				},
				closed : function() {
					
				}
			});
	} */
	
	
   /**
	*  操作项  add for lgx  提供查看，修改，删除按钮，如果还有系统按钮，
	*  比如禁用，可在子页面进行自定义函数添加（建议列表操作项按钮不要超过5个）
	*/
	//function operationFormatter(value, row){
		
		//var params = "id="+value;
		//查看
		//var html = '<a href="javascript:void(0);" style="padding-right:5px;" onclick="detail(\'sys/role/roleDetail\',\'查看角色信息\',\''+params+'\')">查看</a>';
		//修改
		//html = html + "<a href='javascript:void(0);' style='padding-right:5px;'>修改</a>";
		//删除
		//html= html  + "<a href='javascript:void(0);'>删除</a>";
		
		//return html;
	//}  
   
   function createByTitle(url,title,istrue){
		var isclose=istrue==true?true:false;
		if(isNull(title)){
			title ="新增";
		}
		opencreateWindow(url,title,1000,600,'10px',isclose);
   }
   
   function createByWidth(url,istrue,width,heigh){
		var isclose=istrue==true?true:false;
		opencreateWindow(url,'新增',width,heigh,'10px',isclose);
   }
	
	//新建
	function create(url,istrue){
		var isclose=istrue==true?true:false;
		opencreateWindow(url,'新增',1000,600,'10px',isclose);
	}
	
	//查看
	function detail(url,title,param){
		url=url+"?"+param;
		opencreateWindow(url,title,1000,600,'10px',true);
	}
	
	function detailByWidth(url,title,param,width,heigh){
		url=url+"?"+param;
	    opencreateWindow(url,title,width,heigh,'10px',true);
	}
	
	//修改
	function modify(url,title,param){
		url=url+"?"+param;
		opencreateWindow(url,title,1000,600,'10px',false);
	}
	
	//删除
	function deleteData(url,title,param){
		
		var num = "";
		for (var i = 0; i < 6; i++) {
			num += Math.floor(Math.random() * 10);
		}
		
		top.$.jBox.confirm(title,'系统提示',function(v, h, f) {
			if (v == "ok") {
				url = "${ctx}/"+url+"?"+param+"&num="+num;
                $.ajax({  
                    type:"get",  //提交方式  
                    url:url,//路径
                    dataType:"text",
                    success : function(result) {//返回数据根据结果进行相应的处理  
                    	if(result == '删除成功'){
                    		top.$.jBox.tip(result,'success'); 
                    		$table.bootstrapTable('refresh'); 
                    	}else{
                    		top.$.jBox.tip(result,'error'); 
                    		$table.bootstrapTable('refresh'); 
                    	}
                    },
                    error : function() {
                    	 top.$.jBox.tip('请求异常,删除失败!','error');  
                    }
                });  
			}
		});
	}
	
	//批量删除
	function batchDelete(url){
		
		var row_date_arr = $table.bootstrapTable('getSelections');
		
		if(row_date_arr.length == 0){
			showTip("请至少选择一条需要删除的数据！", "info", undefined, undefined);
		    return false;
		}
		var param = '';
		var canDelete = false;
		
		var createBy = "";
		//var currentUserId = '${fns:getUser().getId()}';
		//var isAdmin = '${fns:getUser().isAdmin()}';
		
		$.each(row_date_arr,function (index,row){
			var select_id = row.id;
			param = param + select_id +",";
		
			createBy = row.createBy.id
			if(operationPermission(createBy)){
				canDelete =  true;
			}
		});
		
		if(!canDelete){
			showTip("只有超级管理员,该公司管理员和创建人才可以删除!", "info", undefined, undefined);
			return;
		}
		
		var num = "";
		for (var i = 0; i < 6; i++) {
			num += Math.floor(Math.random() * 10);
		}
		
		
		//alert(param);
		top.$.jBox.confirm("你确定要批量删除数据吗？",'系统提示',function(v, h, f) {
			if (v == "ok") {
				loadingAndTimeout("正在批量删除中...",3000);
				
				url = "${ctx}/"+url+"?ids="+param+"&num="+num;
                $.ajax({  
                    type:"get",  //提交方式  
                    url:url,//路径
                    dataType:"text",
                    success : function(result) {//返回数据根据结果进行相应的处理  
                    	if(result == '删除成功'){
                    		top.$.jBox.tip(result,'success'); 
                    		$table.bootstrapTable('refresh'); 
                    	}else{
                    		top.$.jBox.tip(result,'error'); 
                    		$table.bootstrapTable('refresh'); 
                    	}
                    },
                    error : function() {
                    	 top.$.jBox.tip('请求异常,删除失败!','error');  
                    }
                });  
			}
		});
	}
	
	//批量删除(有审批业务的批量删除)
	function batchDeleteByApprove(url){
		
		var row_date_arr = $table.bootstrapTable('getSelections');
		
		if(row_date_arr.length == 0){
			showTip("请至少选择一条需要删除的数据！", "info", undefined, undefined);
		    return false;
		}
		var param = '';
		var approveCode;
		var status;
		var canDelete = false;
		
		$.each(row_date_arr,function (index,row){
			var select_id = row.id;
			param = param + select_id +",";
			
			approveCode = row.applyState;
			status = row.status;
			if(approveCode == "01"){
				canDelete = true;
			}
		});
		
		if(!canDelete){
			showTip("审批状态为[未提交]才可以删除!", "info", undefined, undefined);
			return;
		}
		
		//alert(param);
		top.$.jBox.confirm("你确定要批量删除数据吗？",'系统提示',function(v, h, f) {
			if (v == "ok") {
				loadingAndTimeout("正在批量删除中...",3000);
				
				url = "${ctx}/"+url+"?ids="+param;
                $.ajax({  
                    type:"get",  //提交方式  
                    url:url,//路径
                    dataType:"text",
                    success : function(result) {//返回数据根据结果进行相应的处理  
                    	if(result == '删除成功'){
                    		top.$.jBox.tip(result,'success'); 
                    		$table.bootstrapTable('refresh'); 
                    	}else{
                    		top.$.jBox.tip(result,'error'); 
                    		$table.bootstrapTable('refresh'); 
                    	}
                    },
                    error : function() {
                    	 top.$.jBox.tip('请求异常,删除失败!','error');  
                    }
                });  
			}
		});
	}
	
	
	//打印
	function print(url){
		var checkboxs=$(".tbbody").find("input[type=checkbox]:checked");
		if(checkboxs.length==0){top.$.jBox.tip("请选择一条修改的数据","",{persistent : true,opacity : 0,timeout: 3000}); return false;}
		var id=$(checkboxs).attr("data-param");
		url=url+"?"+ id;
		opencreateWindow(url,'打印',1000,600,'10px',false);
	}
	
	//批量打印
	function prints(url){
		var checkboxs=$(".tbbody").find("input[type=checkbox]:checked");
		if(checkboxs.length==0){top.$.jBox.tip("请最少选择一条通知单数据进行打印！","",{persistent : true,opacity : 0,timeout: 3000}); return false;}
		var ids = [];
		checkboxs.each(function(){ 
			ids.push($(this).attr("data-id"));
		});
		
		url=url+"?ids="+ ids;
		opencreateWindow(url,'打印',1000,600,'10px',false);
	}
	
	//重置按钮代码
	$(".reset").click(
		function() {
			var inputs = $(".search").find("input[type=text],input[type=hidden]");
			var selects = $(".search").find("select");
			inputs.each(function(index, event) {
				$(event).val("");
			});
			selects.each(function(index, event) {
				$(event).val("");
				$(event).parents("td").find(".select2-chosen").text("全部");
			});
	
			$(this).prev().click();
	});
	

	// 导出列表数据, 带查询form中条件
	function exportData(url,event){
		loadingAndTimeout("正在导出中...",3000);
		window.location.href = url + "?" + $("#searchForm").serialize();
		
	}
	
	// 导出列表数据, 带查询form中条件
	function download(url,event){
		loadingAndTimeout("正在下载中...",3000);
		window.location.href = url;
	}
	
	
	//通用操作权限控制(只有超级管理员,公司管理员和创建人可以修改)
	//createById:数据创建者id，所属公司id:companyId
	function operationPermission(createById){
		var hasRoleTpye = "${fns:hasRoleTpye('security-role')}";//当前帐号角色类型（管理角色）
		var currentUserId = '${fns:getUser().getId()}';//当前登录帐号用户id
		var isAdmin = '${fns:getUser().isAdmin()}';
		
		//超级管理员
		if(isAdmin == "true"){
			return true;
		}else if(hasRoleTpye == "true"){
		//公司管理员
			return true;
		}else if(currentUserId == createById){
			return true;
		}else{
			return false;
		}
	}
	
	//页面调整
	function gotoView(url){
		loading("正在加载中...");
		window.location.href = url;
	}
	
	$(document).ready(function() {
		$("#btnImport").click(function(){
			opencreateWindow('put/bas/dealer/importForm','导入数据',400,200,'10px',true);
		});
    });
	
	function doResetBysearch(){
		$("#btn_search").click();
	}
	
</script>